package com.todo.event.activity.application.backend.service;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.event.activity.iface.backend.request.*;
import com.todo.event.activity.iface.backend.response.EventDetailResp;
import com.todo.event.activity.iface.backend.response.EventInfoResp;

/**
 * @author azhebuxing
 * @date 2025/1/11 21:24
 * @description
 */
public interface EventDetailBackendService {

    /**
     * 新增事件详情
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertEventDetail(InsertEventDetailReq req);

    /**
     * 更新事件详情
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateEventDetail(UpdateEventDetailReq req);

    /**
     * 根据主键删除事件详情
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeEventDetailById(RemoveEventDetailByIdReq req);

    /**
     * 事件详情配置测试
     *
     * @param req
     * @return
     */
    BizResponse<String> testEventDetailProperty(TestEventDetailPropertyReq req);

    /**
     * 启用事件详情
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> enableEventDetail(EnableEventDetailReq req);

    /**
     * 根据主键查询事件详情
     *
     * @param req
     * @return
     */
    BizResponse<EventDetailResp> queryEventDetailById(QueryEventDetailByIdReq req);

    /**
     * 分页查询事件基础信息
     *
     * @param req
     * @return
     */
    BizPageResponse<EventInfoResp> queryEventDetailPage(QueryEventDetailPageReq req);
}
